Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Программирование контроллеров Carel PCO
Диалог специалистов АВОК > ОБЩИЙ ФОРУМ > Автоматизация систем
Страницы: 1, 2, 3, 4, 5, 6, 7
gund88
Как соединиться с контроллером!?
Ключа нет......по второму варианту что сделать надо?
Как я понял нужен преобразователь 232-485(любой или нет? тут я не понял, кто то говорит что только тот который карел сертифицировал). нужно вытащить прогу с контроллера под бэкАП..помогите плз...С Карелом вообще не работал, онли Симатик wink.gif
polyakov.mo
если с микросхемой RTDI - то любой. Если другая микросхема, то возможно, но нужно будет повозиться. Рекомендую обратиться в представительство к Антону Головину.
gund88
Ну с преобразователем то я что нить придумаю...А как дальше действовать?Через какой порт, на самом контроллере? И как там далее по действиям!? ВинЛоад качнул и установил уже...На дисплее надо что нибудь делать?
Если я не по адресу или дублирую тему какую то, то перенаправьте новичка smile.gif
polyakov.mo
Попробовал. залил программу в контроллер, winload-ом считывает T и P память, обратно залить их в контроллер Winload отказывается... ерунда какая-то

На контроллере порт - 3пин J-11 или 6пин J-10. На дисплее нужно выяснить адрес контроллера в сети plan, если дисплей выносной, то зажать вверх+вниз+ентер. Если он локальный, то в верхней части будет его адрес=0 (и адрес контроллера соответственно = 0), если сетевой, то какой-то другой. Если какой-то другой, то ниже или на следующей странице будет перечень адресов контроллеров. Эти адреса Вам и нужны.

Программулина PCOManager считала файлик с настройками по умолчанию и обратно залила без проблем. Файлики с масками (IUP, то что видим на дисплее) и стратегией (BLB/BIN/BLX, сама программа) - не считала и соответственно не залила обратно. PCOManager сама нашла адрес контроллера в сети plan.

В общем сдаюсь, не знаю что делать. Вы позвонили бы в представительство

Ну или еще вариант - попросить у поставщика/производителя чиллеров скомпилированные файлы прошивки. Исходники скорее всего не отдадут.
gund88
Ну вообщем ситуация такая!
Связался с Карелом, по вопросу БэкАпа...Все что посоветовали это купить их СмартКей и выкачивать им(ну в принципе другого варианта я от них и не ждал)...Так вот сказали программу выкачать им можно, но скинуть на комп и редактировать там что то это Анриал.
polyakov.mo
Собственно задача стояла сделать БэкАп wink.gif
gund88
Будем пробовать.
Хочу еще съездить на их Семинар в Питере...Был в апреле 17-18, но я на него не попал так как не владел информацией такой mellow.gif печально, буду ждать следующего. Семинар кстати бесплатный rolleyes.gif
olg2004
Цитата(MASTAK @ 12.2.2013, 17:32) *
И как его изучать тогда? И что с этого я же не собираюсь пользоваться этой собственностью.


В личку киньте ссылки. То что то затёрли.



сьездить на семинар или убить пару недель на изучение библиотеки, делофф то
gund88
А кто ездил на семинар?
Как там вообще?Материала достаточно?
rancatto
Там дают базовые навыки работы со средой 1tool, показывая все на примере разработки простенькой программы для управления системой вентиляции (простенькой). Конечно все премудрости там вам не покажут, но общее понимание что такое pCO и 1tool есть и можно начать свои практические опыты. Если есть опыт работы в других средах на основе FBD, то вся информация полученная на семинаре будет понятна.
DimanVIP
Доброго времени суток!
Возникла следующая задачка:
Контроллер pCO5.
Необходимо считать сигналы от импульсного выхода счетчика электро энергии, и хранить их в течении года.
Решил подключать счетчик к быстрым входам контроллера, в мане к контроллеру написано что это B4, B5.
Начал ваять, и впал в ступор.

В 1tool (2.6.57), для работы с ними ничего нет. Хотя в мануале написано:
Цитата
Если входы В4 и В5 сконфигурированы как быстрые цифровые входы, они измеряют сигнал с максимальной частотой 2 кГц,
разрешение ±1 Гц. Для этой цели в BIOS содержится две пары системных переменных, доступных прикладной программе.
Эти переменные показывают, сколько раз сигнал прошел через ноль, и соответствующую частоту в герцах.
Таким образом, получается что они могут работать только как частотомеры, а как же простой подсчет импульсов?

Зато в 1tool, есть быстрый вход ID1 (про который в мане к контроллеру ничего не написано).
И есть к нему (входу этому) замечательная системная переменная PULSE_COUNTER_FAST_ID1.
Но загвоздка в том, что в симуляторе, при дерганье этим входом (ID1) эта переменная никак не меняется.
Посему и вопрос, надо что-то еще дополнительно инициализировать, или глюк симулятора, или будет работать только в железе?

В общем объясните, люди добрые, где на самом деле находятся быстрые входа и как с ними правильно работать.

Заранее огромное спасибо!

З.Ы. в процессе ковыряния наткнулся на косяк в библиотеке. При установке на лист атома Din_Count,
проект не компилится и вываливается с ошибкой(External Compiler>E20800-BLB - The "DIN_COUNT" atom not found. - .......)
polyakov.mo
Если можете, скиньте исходник в версии 1tool 2.6.46 или ниже для pco3 на почту polyakov.mo@mail.ru - посмотрю в железе. Завтра отпишусь. По идее больших отличий быть не должно между pco5 и 3

Хотя может не получиться... PULSE_COUNTER_FAST_ID1 для supernode и pco5, у меня только pco3 под рукой есть
DimanVIP
Надеюсь что уже на следующей неделе ко мне железе приедет.
Буду сам проверять.
DimanVIP
Вчера пол дня промучался с подключением графического тача, только уже поздней ночью удалось победить.

Сегодня первым делом проверил эти быстрые входа.
Оказалось, что это все-таки B5. Но инкрементируется переменная PULSE_COUNTER_FAST_ID1.

А теперь самый интересный вопрос:
- может кто-нибудь подсказать как наладить связь с теплосчетчиком ВЗЛЕТ ТСРВ-024М?
Мне бы хоть на каком-нибудь примере подсмотреть как там этот самый обмен происходит.
Где, что и как настроить, и каким макаром читать данные.
А то сколько с этими контроллерами работаю, а такого еще делать не приходилось.

Заранее большое спасибо за помощь!
polyakov.mo
вот это может помочь, а еще на CD c дистрибутивом 1tool есть пример подключения устройства по modbus. там пошагово, в виде показа слайдов, все нарисовано.

Carel сделали все, чтобы упростить нам жизнь

С ч/п проблем не возникло. ч/п, счетчик, ..., все что угодно - адрес, регистр
DimanVIP
Огромное Вам человеческое спасибо!
DimanVIP
Связь наладилась, все хорошо!

Но в процессе нашелся еще один камень:
В теплосчетчике есть регистры выше 0x8000(32768), а в 1tool таких больших типов не предусмотрено.
Если подключить напрямую константу, то ругается на слишком большое значение.
Пробовал с отрицательными числами, выскакивает ошибка недопустимого адреса.

Кто может подсказать, как в этом случае поступить?

polyakov.mo
попробуйте найти ответ на стр.9 показа слайдов. Отпишитесь потом, я так далеко не заходил )))

Есть вариант в представительство позвонить - у них может быть готовый макроблок для Вашего счетчика...
DimanVIP
Это немного не из этой оперы.
Там просто рассказывается про ограничения различных протоколов.

А в моём случае я уперся в ограничения 1tool. А именно:
- Не возможно создать переменную больше 32767;
- Да и сам макроблок (MB_Sublist_Mng_Offline) не принимает значения выше.

А ведь, к сожалению, все нужные мне регистры находятся именно выше.

Ладно, будем думать....
polyakov.mo
Странно, в среде разработки не предусмотрено использование беззнаковых переменных, 1 знаковый бит при этом теряется и переменная становится 15 бит, отчего половина регистров стороннего устройства стали недоступными.
непорядок.

А если взять макроблок writebit16, адрес нужного регистра разложить по битам и подать на вход mb_sublist_mng_offline...

Это к чему я - в среде разработки есть баги, Вы уже нашли штуки 3

PS
А. Головин говорил на семинаре про баг - если в маске дать доступ на запись переменной current_day ее можно будет менять из этой маски без присвоения переменным new_day нового дня, а set_day "1"
DimanVIP
Уж сколько я этих багов всяких разных переловил....
Бывало что при вычислениях текущего номера дня недели мне выдавался 0 (нулевой день недели).
Бывало что при вычислениях дробных чисел контроллер "падал" при первом же вычислении (хотя в симуляторе все ОК).
Недавно обновился до последней версии, но багов стало только еще больше.
Один из последних я тут уже выше описал.

Сейчас разобрал я этот макроблок, сижу ковыряю...
polyakov.mo
С Башорга:

В году 12 месяцев. Вы все еще присваиваете январь-февраль...декабрь числа 1-2..12 ? переходите на новую систему Нулябрь-Январь-Февраль
Igorchello
Цитата(DimanVIP @ 1.7.2013, 18:12) *
Это немного не из этой оперы.
Там просто рассказывается про ограничения различных протоколов.

А в моём случае я уперся в ограничения 1tool. А именно:
- Не возможно создать переменную больше 32767;
- Да и сам макроблок (MB_Sublist_Mng_Offline) не принимает значения выше.

А ведь, к сожалению, все нужные мне регистры находятся именно выше.

Ладно, будем думать....


Здесь 1tool можно обмануть. Подаете на вход макроблока не константу, а сумму 32767 + .... Вроде так должно заработать.
DimanVIP
Цитата(Igorchello @ 1.7.2013, 22:04) *
Здесь 1tool можно обмануть. Подаете на вход макроблока не константу, а сумму 32767 + .... Вроде так должно заработать.


Пробовал.
И сумму и объединение разных чисел.
После этого знак все-равно меняется и на выходе имеет ошибку недопустимого адреса.

Поковырявшись во внутренних "потрохах" макроблоках, ничего интересного не нашел.
Весь обмен у них происходит путем записи в массив, который конечно же int.
После этого, из него же выгребаются ошибки связи.
И, как и следовало ожидать, ни побитная запись, ни другие извращения ничего не дают.

Весь остальной "фарш" зарыт где-то очень глубоко, и где его искать и как достать хз. Да и сомневаюсь что это вообще возможно.
DimanVIP
Цитата(DimanVIP @ 1.7.2013, 22:18) *
Пробовал.
И сумму и объединение разных чисел.
После этого знак все-равно меняется и на выходе имеет ошибку недопустимого адреса.


Извиняюсь за дезу, был неправ.
В пылу своих безуспешных попыток, упустил момент важности порядка модулей.
В общем, удалось запустить, при использовании атома сложения.

За что Igorchello, огромнейшее спасибо!

Но опять же, есть свои нюансы. Пока полностью всё не облазил, но уже заметил особенность:
- нельзя использовать подряд 2 макроблока MB_Reg_RW. Начинаются глюки с прыгающими регистрами и появлением ошибки недопустимого адреса.
Если же использовать всего 1, а для чтения второго регистра юзать простой читатель массива Array_Read то всё норм.



Igorchello
Цитата(DimanVIP @ 1.7.2013, 23:56) *
Но опять же, есть свои нюансы. Пока полностью всё не облазил, но уже заметил особенность:
- нельзя использовать подряд 2 макроблока MB_Reg_RW. Начинаются глюки с прыгающими регистрами и появлением ошибки недопустимого адреса.
Если же использовать всего 1, а для чтения второго регистра юзать простой читатель массива Array_Read то всё норм.


Возможно ошибка в порядке блоков. Не знаю есть ли у Вас такой документ. Посмотрите там все очень подробно расписано.
polyakov.mo
Цитата(Igorchello @ 1.7.2013, 22:04) *


Мне предстоит в щитке ставить 2 контроллера PCO3. ПО в стадии написания алгоритма, до сетевого обмена еще не дошел. Один из контроллеров как модуль расширения. Есть какие-либо особенности по использованию обмена данными по plan?

PS нужно записать в книжку про чтение переменных с адресами выше 32767
Crl Anton
Коллеги, то что вы в данном случае называете багом, на самом деле, скорее, особенность. В 1tool изначально заявлен определенный набор типов данных и диапазоны значений, с которыми она может работать. Проблема с регистрами, имеющими адреса больше, чем 32767 при работе с Modbus Master 2.0 (на макроблоках) без проблем обходится методом сложения на атоме add.
Я же рекомендую установить 1tool 2.6.57 и пользоваться новыми возможностями для организации обмена по протоколу Modbus. В данной версии конфигурирование портов и выделение переменных для обмена коренным образом улучшено: теперь нет необходимости использовать макроблоки и следить за очередностью их исполнения; необходимо просто заполнить таблицу и задать параметры протокола и порта, при необходимости можно расставить приоритеты для отдельных переменных. В прикрепленном документе весь процесс достаточно доходчиво описан. Особое внимание хочу обратить на то, что для работы новой версии протокола необходимо использовать БИОС 6.20. Обновленные версии 1tool и БИОС доступны на ресурсе ksa.carel.com для зарегистрированных и имеющих соответствующий доступ пользователей.
Что касается неправильных вычислений дня недели, то DimanVIP первый человек, от которого я это слышу. Так же абсолютно непонятно, что значит контроллер "падал". В контроллерах рСО отсутствует операционная система, соответственно падать там попросту нечему. Разумеется, как и во всех других программных продуктах, в 1tool есть баги и некоторые, я бы сказал, особенности smile.gif.
Если у вас, господа разработчики, появятся вопросы, требующие развернутого ответа, или есть сомнения в том, что все работает правильно (например, если Вы обнаружили баг) прошу обращаться в Представительство Carel. Телефоны есть на сайте Представительства.
Igorchello
Цитата(polyakov.mo @ 2.7.2013, 11:20) *
Мне предстоит в щитке ставить 2 контроллера PCO3. ПО в стадии написания алгоритма, до сетевого обмена еще не дошел. Один из контроллеров как модуль расширения. Есть какие-либо особенности по использованию обмена данными по plan?

PS нужно записать в книжку про чтение переменных с адресами выше 32767


Каких-то особенностей нет. Для организации обмена используется ПО NetworkEditor, входящее в состав 1tool. Там все интуитивно понятно.
Для кого-то делал небольшой документик по этой теме. Во вложении.
polyakov.mo
Цитата(Igorchello @ 2.7.2013, 11:38) *


Спасибо!
DimanVIP
Цитата(Crl Anton @ 2.7.2013, 11:32) *
Так же абсолютно непонятно, что значит контроллер "падал".
Нажмите для просмотра прикрепленного файла
Хорошо что в новой версии 2.6.57 добавили фишку, когда 1tool падает - предлагается отправить отчет об ошибке.
Теперь то я им отомщу ]: В день по 3-4 репорта к ним улетает.

polyakov.mo, мне бывало и до 3-х контроллеров приходилось объединять. Никаких особых особенностей не нашел. Скоро придется объединять 2 контроллера и 4 модуля расширения, должно пройти без изысков.
Мне запись в теплосчетчик не нужна, поэтому все блоки сделал на чтение - полет нормальный.

Еще раз всем спасибо, за помощь! Буду учиться, разбираться.


polyakov.mo
Igorchello, DimanVIP, Спасибо!

Сделал, проверил, работает
DimanVIP
Доброго всем времени суток!

Снова прошу помощи:
- Подскажите пожалуйста, как сделать так, чтобы при долгом удержании кнопок вверх/вниз происходило увеличение скорости приращения переменной.
Поясню на примере:
В меню контроллера надо увеличить переменную.
Нажимаем кнопку вверх, увеличивается десятыми.
Держим дальше, начинает увеличиваться единицами.
Еще держим - десятками и т.д.

Знаю что так (или на подобие) сделать можно. Но сколько не пытался, так и не нашел каким макаром.

Заранее большое спасибо!
Romanik
Цитата(DimanVIP @ 19.9.2013, 19:35) *
Доброго всем времени суток!

Снова прошу помощи:
- Подскажите пожалуйста, как сделать так, чтобы при долгом удержании кнопок вверх/вниз происходило увеличение скорости приращения переменной.

У меня по умолчанию так происходит.
Romanik
Цитата(Crl Anton @ 2.7.2013, 10:32) *
в 1tool есть баги и некоторые, я бы сказал, особенности smile.gif.

Багу с буквой "В" на русской раслкадке уже не один год smile.gif
DimanVIP
Можете скинуть какой-нибудь свой проект, где это происходит по-умолчанию.
Глянуть, поковырять и сравнить.

А эту "фичу" с буквой я как-то обходил (забыл уже). Сейчас новый проект делаю, если вспомню поделюсь.
Igorchello
Цитата(DimanVIP @ 19.9.2013, 20:35) *
Доброго всем времени суток!

Снова прошу помощи:
- Подскажите пожалуйста, как сделать так, чтобы при долгом удержании кнопок вверх/вниз происходило увеличение скорости приращения переменной.
Поясню на примере:
В меню контроллера надо увеличить переменную.
Нажимаем кнопку вверх, увеличивается десятыми.
Держим дальше, начинает увеличиваться единицами.
Еще держим - десятками и т.д.

Знаю что так (или на подобие) сделать можно. Но сколько не пытался, так и не нашел каким макаром.

Заранее большое спасибо!

Для кнопки Up глобально должен быть прописан следующий код:

Incr_var(SysVarList.KEY_COUNTER);

Для Down:

Decr_var(SysVarList.KEY_COUNTER);

Увеличивает/уменьшает перемеренную пропорционально времени нажатия клавиши.

Этот код прописан по умолчанию. Либо Вы его удалили, либо прописали для конкретного поля другой код.

DimanVIP
Igorchello, спасибо большое!
Если использовать код, который вы предлагаете, то всё прекрасно работает!

Но простите за назойливость, если уж начали разбираться, так до победного:
А где этот код прописывается глобально?

Стандартно у меня всё это безобразие выглядит так:
Нажмите для просмотра прикрепленного файла

UPD: Нашел этот глобальный уровень, и там действительно написано то, о чем Вы говорите.
У меня меняются определения для трех кнопок, вверх/вниз/ентер.
Если убрать код для, например, клавиши вверх, то переменная не инкрементируется.
Igorchello
Цитата(DimanVIP @ 20.9.2013, 17:47) *
Igorchello, спасибо большое!
Если использовать код, который вы предлагаете, то всё прекрасно работает!

Но простите за назойливость, если уж начали разбираться, так до победного:
А где этот код прописывается глобально?

Стандартно у меня всё это безобразие выглядит так:
Нажмите для просмотра прикрепленного файла

UPD: Нашел этот глобальный уровень, и там действительно написано то, о чем Вы говорите.
У меня меняются определения для трех кнопок, вверх/вниз/ентер.
Если убрать код для, например, клавиши вверх, то переменная не инкрементируется.


Глобально значит этот код используется для всех масок.
Если выбрать в MaskEditor не маску, общее пространство и прописать для кнопок код, то он будет актуальным для всех масок.
Это если локально не прописан код кнопок для отдельных масок и циклов.
Romanik
Цитата(DimanVIP @ 20.9.2013, 14:52) *
эту "фичу" с буквой я как-то обходил (забыл уже). Сейчас новый проект делаю, если вспомню поделюсь.

Обход с буквой "В" производится путем переключения на английскую раскладку.
Romanik
Цитата(DimanVIP @ 20.9.2013, 16:47) *
Нашел этот глобальный уровень, и там действительно написано то, о чем Вы говорите.
У меня меняются определения для трех кнопок, вверх/вниз/ентер.
Если убрать код для, например, клавиши вверх, то переменная не инкрементируется.

Поставить значения по умолчанию на глобальном уровне, на остальных уровнях значения UP|DOWN оставить пустыми, тогда будет работать с "заводскими" настройками.
Aleksey 26
Добрый день! Помогите, пожалуйста! Очень нужен исходник ПО на вентиляцию. Если у кого есть. Заранее спасибо!!!
svintus
Познавательное. Случайно в проекте оказалась, что название одной переменной совпадает с именем маски. Так вот, если эта переменная присутствует в коде, прописанном в другой маске для другой переменной, имеем следующее: при смене имени маски меняется название прописанной в коде переменной, если имя маски и название переменной совпадали. Для любопытных - в примере: смотрим код для переменной VAR_1 для клавиши Enter в маске "work", затем меняем имя маски "alarm" на другое и возвращаемся назад к коду. Не пойму, это баг или я недочитал где-то? Ясное дело, три года уже избегаю давать похожие названия, но все-же.

Нажмите для просмотра прикрепленного файла

nip
Всем доброго времени суток. Не подскажите возможно ли заливать стратегию на контроллер (pCO5) через pLAN порт?
Romanik
Цитата(nip @ 25.3.2014, 14:09) *
Всем доброго времени суток. Не подскажите возможно ли заливать стратегию на контроллер (pCO5) через pLAN порт?

Обычно так и заливаю.
nip
Пробовал это сделать при помощи конвертера ICP CON i7561, pCO Mnager видел контроллер, даже констатировал успешную загрузку стратегии на железяку,но эффекта не было. . . Сегодня пришел оригинальный конвертер (Carel - кий) и все прошло как по маслу.
narkom
Надо было использовать Winload. Эта прога работает с любым конвертером.
"Стратегия" это что-то из Тренда biggrin.gif
nip
Ага, именно )) Раньше с Трендом работал, очень похожи они с Carelom. Есть такой вопрос - где найти таблицу соответствия входов выходов Carel'а и их Modbus адресам и какого типа создавать переменные,чтобы их можно было видеть по Modbus'у с других устройств?
narkom
Здесь скачиваете описание стандартной прошивки
http://www.carel.com/carelcom/web/eng/cata...mp;id_mercato=1

В конце есть искомая таблица.
nip
Спасибо!!!Читая эту темку наткнулся на сообщение о том,что pCOXS нельзя читать Modbus через pLAN порт. . . Это действительно так?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.